Veja outra abordagem que funciona com o POSIX sh
:
zmx() {
"$@" 2>&1 | sed 's/^/r2g: /'
}
Isso evita ter que lidar com as sutilezas de read
.
Para verificar esses snippets de shell, você pode usar o ShellCheck : adicione um #!/bin/sh
shebang para dizer que deseja usar um POSIX shell, e ele vai te dizer o que corrigir.