Verifique novamente. De acordo com o que você escreveu em sua pergunta, quando executou ./my2.sh de my1.sh , você não redirecionou a saída de erro para qualquer lugar (usando 2>somewhere ), o que significa que permanecerá exatamente onde estava. Isso significa que você deve obter absolutamente a saída de erro de ./my2.sh indo exatamente para o mesmo local em que a saída de erro de ./mh1.sh está indo.
Para testar, tente inserir isso em my1.sh :
echo "Test error output from my1.sh" >&2
e inserindo isso perto do começo de my2.sh :
echo "Test error output from my2.sh" >&2
Meu palpite é que você obterá ambas as linhas de saída (caso em que não há problema) ou nenhuma delas (nesse caso, o motivo pelo qual você não está obtendo a saída de erro é que a saída de erro é redirecionada para outro local em my1.sh e não tem nada a ver com my2.sh ).