Normally, there is one certificate at a time per IP address, because the server commits to the certificate during the initial handshake (before it sees the HTTP Host header). But Server Name Indication (SNI) changes this, by letting the client send the Host of the server during the TLS handshake.
I don't think you're quite on the right track. Assuming you want your two sites to be publically accessible, at some point you'll have to specify (through DNS), that 1st.com and 2nd.com are both at x.x.x.x (a public IP). Then, you need to use SNI to distinguish between them. There is no need for virtual NICs or local IPs.