Если каждая строка в s1.txt
представляет имя файла, а в именах файлов нет фанк-символов:
<s1.txt xargs -d '\n' grep string
У меня похожая проблема, но немного сложнее. Со статическим файлом параметров автозаполнения у меня работает следующий код:
#compdef test
_test_comp(){
t=($(cat /tmp/file_with_opts))
_wanted t expl "availavle options" compadd -a t
}
_arguments -C -S \
'*:test_autocomplete:_test_comp'
Таким образом, скрипт test
будет подбирать опции из/tmp/file_with_opts