Existem algumas maneiras de fazer isso, mas o mais portátil é provavelmente
eval "echo \$lmx_setting_$2"
mas a maneira específica do bash de evitar uma eval seria
temp="lmx_setting_$2"
echo ${!temp}
Se você não tiver antes, você deve abrir a página man bash e rolar para baixo para Parâmetro Expansion para ver todas as suas opções. Você perguntou especificamente sobre variáveis de ambiente, mas se você não precisa exportar essas variáveis e você tem uma nova versão suficiente do bash (4.0+) você pode usar Matrizes Associativas e evitar toda essa confusão ... mas então seu script realmente não é é portátil.