Sua segunda linha está incorreta e excessivamente complexa. Os descritores de arquivos para stdin , stdout e stderr são 0 , 1 e 2 , respectivamente, portanto, leia a partir de stdin que você deseja ter
while read CMD <&0; do
No entanto, como stdin é a entrada padrão para read ,
while read CMD; do
é realmente o caminho mais simples a seguir. Dessa forma, você pode inserir manualmente os comandos ou usar o redirecionamento na linha de comando para ler um arquivo.