Não é possível. Como você observou corretamente, seu script está executando em seu próprio shell. Esse shell obtém uma cópia do ambiente do shell pai quando é bifurcado e não tem como acessar o ambiente do shell pai. E isso é bom, porque senão os scripts poderiam ter todos os tipos de efeitos colaterais imprevisíveis. ;)
Para alterar variáveis em seu shell atual, você sempre pode fornecer seu arquivo de script (em vez de executá-lo como um processo independente), de modo que o script seja executado pelo seu shell atual em vez de por um bifurcado. Se o seu script for chamado myscript.sh
, chame-o como source myscript.sh
em vez de ./myscript.sh
.