Você pode usar printf -v
para criar variáveis dinamicamente, por exemplo:
temp=somename
echo $temp
printf -v $temp "Test value"
echo $somename
Isso produzirá "Valor de teste".
Observe que temp="$(date +%s)"
não funcionará, porque a saída de $(date +%s)
é numérica e os nomes de variáveis no Bash não podem começar com um número. Você teria que dar um prefixo não numérico, por exemplo:
temp="t$(date +%s)"
Para exportar a variável, você pode simplesmente fazer:
export $temp
Veja um exemplo completo, com a prova de que a variável é realmente exportada no ambiente:
temp=t$(date +%s)
echo $temp
printf -v $temp "Test value"
export $temp
sh -c "echo $$temp"
Saídas por exemplo:
t1486060416
Test value