De um modo geral, as variáveis bash devem sempre ser agrupadas entre aspas duplas.
Por exemplo, digamos $ 1 é My File.txt
. Seu script tenta fazer isso:
mv My File.txt My File.txt_201501010101
qual mv
significa que você deseja mover os arquivos My
, File.txt
e My
coletivamente para o destino File.txt_201501010101
.
O que você quer é:
mv "My File.txt" "My File.txt_201501010101"
Veja o seguinte para mais detalhes e outras armadilhas para evitar: link
P.S. exit 0
no final de um script é redundante. Se o script terminar sem erros, o status de saída será implicitamente 0.