Se você estiver usando um shell que suporta variáveis locais, como ksh, bash ou zsh, coloque todo o código em funções e declare todas as variáveis como locais.
Com sh simples, você pode usar eval
para executar a expansão de variável antes de usar o valor. Um status de retorno contém apenas dígitos, então você nem precisa de citações complicadas.
eval "unset return_status; return $return_status"