bin/prog 2>&1 >filename.log
Ну этот-то вариант и так не работает, если вы хотели перенаправить и stdout и stderr в filename.log. Фактически вы в filename.log перенаправили только stdout, а в освободившийся stdout пошёл stderr.
А вот если вы его запишете в работающем виде:
bin/prog >& filename.log
или
bin/prog > filename.log 2>&1
то и после объединения он будет работать:
bin/prog >& filename.log &
или
bin/prog > filename.log 2>&1 &