Dividir uma string (armazenada em uma variável) em várias palavras usando espaços, mas não os espaços entre aspas duplas

Estou tentando escrever um roteiro complicado para mim, onde meu objetivo é fazer o seguinte. Eu tenho uma string que aparece assim:

2012 2013 "multiple words"

Meu objetivo é colocar cada um deles em uma matriz dividida por espaços, mas apenas para correspondências de palavras únicas, não aquelas cercadas por aspas duplas. Aqueles devem ser considerados uma palavra. Então minha ideia foi fazer isso em duas etapas. Primeiro, combine as palavras que são múltiplas, remova as da string e, em seguida, em outra iteração dividida por espaço em branco.
Infelizmente não consigo encontrar ajuda sobre comoecho o jogo apenas. Até agora eu tenho isso:

array=$(echo $tags | sed -nE 's/"(.+)"/\1/p')

Mas isso resultaria em (no OS X):

2012 2013 multiple words

Resultado esperado:

array[1]="2012"
array[2]="2013"
array[3]="multiple words"

Como eu iria sobre esse tipo de problema?

Obrigado.

questionAnswers(5)

yourAnswerToTheQuestion