Does any operating system provide a mechanism (system call — not command line program) to change the pathname referenced by a symbolic link (symlink) — other than by unlinki
Yes, you can!
$ ln -sfn source_file_or_directory_name softlink_name