Eu acho que é possível - enquanto mantém a ordem de linha (ou seja, stderr é copiado de dentro do processo onde está escrito), mesmo com um shell POSIX. Experimente:
#!/bin/sh
exec 3>log
command args ... 2>&1 >&3 |while read err; do
echo "$err" >&2
echo "$err" >&3
done