Fix port for giaddr.

The destination should be the server port, not the client port.
Use our source IP when relaying the packet.

The gateway IP address goes inside of the DHCP packet,
and shouldn't affect the IP header
Return error if the exec'd program exited via a signal