Xargs хорош / быстр / и т. Д., Но его непросто понять новичкам в написании сценариев оболочки.
Я думаю это будет намного более читабельным (и более чистым, чем в подоболочке).
#!/bin/bash
while read filename; do
cp -a "$filename" /path/to/dest
done < file_list.txt
Это можно сделать
IFS=$'\n' ; for file in `cat file_list.txt` ; do cp $file /path/ ; done
Объяснение
Если бы это был сценарий оболочки и красиво отформатированный
#!/bin/bash
IFS=$'\n'
for file in `cat file_list.txt` ; do {
cp $file /path/
} done