I had a similar problem a week ago or so, where the car would only start and run if I kept my foot on the gas pedal. It was on one of the really cold days we had (around 10-15F maybe colder I forget exactly).
I thought at first it was an issue with the IAC valve. However the problem in my case seemed to be a bit too low on gas in the tank, not completely out (as I was able to drive 8-10 miles) but perhaps just to low for the fuel pump to pump enough fuel into the fuel lines with a low enough fuel level, as the gas pump in our cars runs at variable speeds depending on the needs of the engine, at idle it must have been running slow enough to not put enough volume of gas into the lines at "idle". After I got gas the car ran like a champ and the issue hasn't been back even on even on sub 0F days.
In my case when I hooked my phone w/ the Torque app on it along with a bluetooth ELM327 based OBD2 reader it showed the fuel level at 0, so while not completely out of gas not much was in it. Perhaps if your fuel level is low put some gas in, but perhaps if the fuel level is higher then an issue with the fuel pump or driver, or perhaps with the IAC valve maybe sticking with the cold temps.
If you have a code reader that can show sensor readings, another think to check is to see what the car thinks the temperature is when the engine is cold, as if it reads a non-expected value (some like if it is 10F out it shows the engine is 50F when sitting overnight cold) could also be an issue with the cylinder head temperature sender as it will be putting in an incorrect fuel amount into the system if the temperature is too far off.