No shell, se você tiver o Perl rename instalado (às vezes chamado prename ):
rename -v 's/$/.bad/' *
Se você tiver muitos arquivos para o shell * glob para lidar com todos eles, você pode mixar'n'match com find desta forma (também substitua + por \; , se necessário):
find . -maxdepth 1 -exec rename -v 's/$/.bad/' {} +
Para o Perl, use apenas move de um módulo padrão:
use File::Copy;
for (<*>) { move($_, "$_.bad"); }