Если вас не интересует отслеживание stderr процесса во время его выполнения, вы можете использовать временный локальный файл , например
#!/bin/bash
tmpfile=`mktemp`
trap '/bin/rm -f $tmpfile ; exit' 0 1 2 3 15
run_command 2> $tmpfile
if [ -s $tmpfile ]
then
scp $tmpfile remoteserver:logfile
fi
exit 0
Если вам нужны «живые» данные, то у вас проблемы с буферизацией; отправка stderr через ssh может не буферизоваться, поэтому вся эта концепция может быть не лучшим способом сделать это.