Это так просто, Bash делает это в анализаторе ввода. Код не требуется. Попробуйте:
echo {a,b,c,d,e,f,g,1,2,3,4,5,_}{a,b,c,d,e,f,g,1,2,3,4,5,_}
Возможно, вам понадобится второй проход, чтобы разбить его на строки.
Или, конечно, вы можете использовать пару вложенных циклов, как в вашем примере:
LIST="a b c d e f 1 2 3 4 5 _";
for a in $LIST ; do
for b in $LIST ; do
echo $a$b;
done;
done