Tente:
sh -c 'echo 0:$0, 1:$1, 2:$2' one two three
isso produz:
0:one, 1:two, 2:three
Em outras palavras, sh -c
lança um script temporário ( echo 0:$0, 1:$1, 2:$2
) que recebe o restante dos argumentos de sh
como seus próprios argumentos. Normalmente, o primeiro desses argumentos é considerado um nome de comando (mas isso é uma convenção).
Então, no seu script:
-exec sh -c 'mv "$0" "/home/cloud360mssread/$0-'date +"%d-%m-%Y"'"' {} \;
está sendo executado:
mv {the_file} /home/cloud360mssread/{the_file}-{timestamp}
que é um pouco inventado desde:
-exec mv "{}" "/home/cloud360mssread/{}-$(date +"%d-%m-%Y")" \;
teria funcionado tão bem.