Tente executar o export no escopo de uma chamada para eval :
eval export ENV_${env}=some_param
Isso garante que o shell expanda ENV_${env} apropriadamente para um dos seus nomes esperados, antes de tentar atribuir a ele.
Você também precisará usar eval ao tentar recuperar o valor armazenado em sua variável:
eval echo \$ENV_$env
Observe a barra invertida - impede que o shell tente expandir a variável inexistente $ENV_ até que tenha expandido a parte $env com o eval incorporado. É o resultado dessa expansão que é passada para echo , que recebe o nome completo de sua variável dinâmica e a expande para gerar o valor armazenado anteriormente.