cat list.txt | xargs cp -t NEW_DIR
Это, если в именах файлов нет пробелов. Если есть
cat list.txt | while read file; do
cp "$file" NEW_DIR
done
Предполагается, что вы (и list.txt) находитесь в каталоге, в котором копируемые файлы. И что имена файлов без путей (или абсолютные - тогда можно запускать откуда угодно). Этот вариант работает медленне, чем предыдущий.
Пользователь решил продолжить мысль [time]14 Декабрь 2015, 07:04:18[/time]:
Кстати, если в именах файлов есть пробелы, то работает такой вариант (лишен недостатка, что медленней) :
cat list.txt | tr '\n' '\0' | xargs -0 cp -t NEW_DIR