That's awesome, @weegreenblobbie! Your example has allowed me to get this working:
Code:
#!/bin/bash
i=0
argv=()
for arg in "$@"
do
    argv[$i]="${arg#file://}"
    i=$((i + 1))
done
/bin/$(basename $0) "${argv[@]}"
I've saved that to ~/bin/fix_url and softlinked my own versions of mv and cp to it, like this:
Code:
cd ~/bin
ln -s fix_url mv
ln -s fix_url cp
So now I can do this:
Code:
mv -a file:///home/mikz/inbox/2013-01-23_162541.jpg ~/somewhere_useful/better_name.jpg
Why bother? If you use the copy command in nautils and paste it into a terminal, it prefixes the path with 'file://'. It means I can use nautils to see what a file is, but handle giving it a better name in the shell.

I'm excited, and it's all thanks to @weegreenblobbie =D>