Вот баш скрипт
#!/bin/bash
declare -A test1=( a "b b" )
echo "${test1["a"]}"
eval declare -A test2=( $(echo "a \"b b\"") )
echo "${test2["a"]}"
который выдаёт в результате
b b
b b
Не могу понять, почему исчезает пробел во втором случае, и как это предотвратить.