Sua abordagem não funciona por dois motivos.
Primeiro, vamos supor que seu env_script.sh contenha uma instrução para definir uma variável, por exemplo
X=5
Se você executar a declaração
$(cat env_script.sh)
você está pedindo bash para executar o conteúdo deste script como comandos, ou seja, para executar um programa com o nome engraçado X=5
.
Assim, a maneira correta de trazer as definições para o seu shell seria
. env_script.sh
O segundo problema é que, de acordo com a sua escrita, você quer propagar a variável para o "script invocador". Agora não está totalmente claro o que exatamente você quer dizer com "invoker script", mas se este script invoker não for sourcing o script que você está prestes a escrever, mas invocando-o como um processo filho, existe tecnicamente não há como passar as variáveis diretamente para o invocador.
Em resumo, se um shell precisar que variáveis sejam configuradas e as configurações definidas em um arquivo separado, ele precisará de um comando source para importá-las.