Isso é chamado de roteamento simples baseado na origem e é abordado no LARTC HOWTO:
Se você encontrar o copy & colar do conteúdo da tabela de roteamento original (sem o gateway padrão) inelegante, não precisará fazer isso. Você pode usar um script trivial:
ip route flush table 10
ip route show table main | grep -v ^default | while read ROUTE; do ip route add table 10 $ROUTE; done
ip route add table 10 default via 172.16.0.254
ip rule add from 172.16.0.2 table 10
ip route flush cache