The connection will be peer to peer, there will be no server in between, unless this is advantageous in some way i dont see.
One advantage of having a server between clients is for internet based games. Most people now site behind NAT routers so for a peer to peer connection you'll have to burden people with opening a port on their router. I think this will be a deal killer for most users.
Should I have one client actually running the game logic and telling the connected client everything that is going on and polling for input from player 2?
There are lots of ways to do this and I don't think any of them are "right". Whatever you feel most comfortable with.
What you describe sounds fine, but I would not have the machine with the logic polling. I would have the passive client send updates to the logic side, then have the logic side send updates back. The passive client would accept whatever the logic client tells it is the current state. For best results, process the commands locally, then reprocess them on the server, then fix up when you receive the results back from the server.