--- /dev/null
+#!/bin/bash
+#
+# inspired by https://stackoverflow.com/questions/8523159/how-do-i-move-a-relative-symbolic-link#8523293
+#          by Christopher Neylan
+
+help() {
+   echo 'usage: mv_ln src_ln dest_dir'
+   echo '       mv_ln --help'
+   echo
+   echo '  Move the symbolic link src_ln into dest_dir while'
+   echo '  keeping it relative'
+   exit 1
+}
+
+[ "$1" == "--help" ] || [ ! -L "$1" ] || [ ! -d "$2" ] && help
+
+set -e # exit on error
+
+orig_link="$1"
+orig_name=$( basename    "$orig_link" )
+orig_dest=$( readlink -f "$orig_link" )
+dest_dir="$2"
+
+ln -r -s "$orig_dest" "$dest_dir/$orig_name"
+rm "$orig_link"