Essencialmente, você quer o conteúdo de filename
como argumentos. Isso pode ser feito facilmente, se seus argumentos não tiverem operadores de espaço em branco ou globbing:
command \
-argument \
-argument \
$(cat ./file) \
-argument \
...
Se seus argumentos não contiverem novas linhas, ou algum outro caractere, então você poderia usar esse caractere como um delimitador e construir a lista de argumentos:
#! /bin/bash
args=()
while IFS= read -r arg
do
args+=("$arg")
done < filename
command \
-argument \
-argument \
"${args[@]}" \
-argument \
...
Se, digamos, os argumentos não contiverem |
, você poderá fazer:
while IFS= read -d'|' -r arg
Onde o arquivo contém:
-arg1 something|-arg2
something else|-arg3 ...