Em um script, você não deve rebaixar um array para uma string. Uma variável de ambiente e seu valor é um par key=value
simples, em que key
e value
são strings. Desmembrar os parâmetros posicionais para uma string simples (por concatenação) tornará difícil manter a separação entre eles, e seria difícil obter a citação correta quando você acabar querendo usá-los.
Em vez disso, passe os parâmetros posicionais (argumento de linha de comando) que você deseja passar para o próximo script em sua linha de comando.
#!/bin/bash
first_arg=$1
shift
# later ...
./my_other_script "$@"
No outro script:
#!/bin/bash
# use "$@" here
foo --bar "$@"