while read VAR
é provavelmente o melhor aqui, pois lida com entradas por linha. Você pode redirecioná-lo de um arquivo, por exemplo:
while IFS= read -r THELINE; do
echo "..$THELINE"
done </path/to/file
Isso dará a você cada linha precedida de ".."
Para o seu caso de exemplo:
while IFS= read -r opt; do
#somestuff $opt
done </path/to/file
Veja Por que 'enquanto o IFS = read' é usado com tanta freqüência, em vez de 'IFS =; enquanto lê ... '? para explicações.