sledopit, давайте по порядку. Насчёт первого символа в название файла из категории «запрещенных» согласен, не подумал об этом. Лечится простым скриптом на sed'е
jov@jov-notebook:~/h$ echo '<<<<s><|?*/\:"e' | tr '\\><|?*/:"' ' ' | sed "s/^ *//"
ну или, как предложил
danfe заменять «запрещённые» на "_".
$() после newname= нужно взять в двойные кавычки
Зачем?
Ну и про переменную $files тоже стоило написать. Иначе цикл так и не запустится.
Очевидно, что не запустится. Каким образом автор вопроса будет выбирать файлы для переименования, мне не ведомо. Как вариант, воспользоваться скриптом который предоставил
danfe и работать с поддиректориями текущего каталога, а можно и нет, всё на усмотрение автора.
Я всего лишь предложил упрощенную модель.