Criando uma matriz no Bash com entradas entre aspas da saída do comando

Estou tendo problemas para formar uma matriz bash a partir de uma saída padrão. Eu reduzi esse exemplo mínimo:

~$ a=($(echo '1 2 3 "foo bar"'))
~$ echo ${a[0]}
1
~$ echo ${a[1]}
2
~$ echo ${a[2]}
3
~$ echo ${a[3]}
"foo
~$ echo ${a[4]}
bar"

Eu acredito que o que está acontecendo é que"foo ebar" são considerados itens separados na saída padrão, mas o objetivo seria consolidar esses itens em um para a matriz.

Obviamente, eu poderia escrever um pequeno loop para consolidar esses termos em um, mas estou me perguntando se há uma solução mais elegante?

EDITAR: O que se passa no lugar deecho '1 2 3 "foo bar"' no meu código é bastante complicado, mas o ponto é queEu preciso formar uma matriz de alguma saída padrão desconhecida deste formulário.

questionAnswers(3)

yourAnswerToTheQuestion