Bash declarativamente definiendo una lista para hacer un bucle en

En bash frecuentemente hago scripts donde hago un bucle sobre una lista de cadenas que defino.

p.ej.

for a in 1 2 3 4; do echo $a; done

Sin embargo, me gustaría definir la lista (antes del bucle para mantenerla limpia) para que contenga espacios y sin un archivo separado:

p.ej. (PERO ESTO NO FUNCIONARÁ)

read -r VAR <<HERE
list item 1
list item 2
list item 3
...
HERE

for a in $VAR; do echo $a; done

La salida esperada arriba (me gustaría):

list item 1
list item 2
list item 3
etc...

Pero obtendrá:

list
item
1

Podría usar matrices pero tendría que indexar cada elemento de la matriz (EDITAR lea las respuestas a continuación, ya que puede adjuntar a matrices. No sabía que pudiera).

¿Cómo definen otros declarativamente las listas en bash sin usar archivos separados?

Lo siento, olvidé mencionar que quiero definir la lista en elparte superior del archivo&nbsp;antes de la lógica de bucle for