É porque seu fluxo de entrada está alimentando o read
. Você está quase certo, então talvez seja um erro de digitação (você acabou de esquecer de dar para o direito FD para seu segundo read
):
while IFS=',' read a b c; do
read input <&3
echo $input
done 3<&0 < input.csv >> output.txt