Часть скрипта:
if [...]; then OPTS='--acls --selinux --xattrs'
eval tar fpx \"$ARCHIVE\" \"${FILES[@]}\" $OPTS
eval нужен, чтобы $OPTS правильно раскрывался.
Проблема в том, что "${FILES[@]" правильно не раскрывается, если их несколько, или в именах есть пробелы.
Как быть? Может, что-то сделать с IFS, или printf'ом как-то филес раскрыть в кавычках?