A solução é definir a opção 'pipefail' antes de executar o comando.
Se pipefail estiver habilitado, o status de retorno do pipeline é o valor de o último comando (mais à direita) para sair com um status diferente de zero ou zero se todos os comandos saem com sucesso.
Agora, meu script parece com o seguinte:
set -o pipefail
cd SomeDir && (sh -c "$CMD_STR") 2>&1 | some_filtering | sed -u -e ....
exit $?