two step config parsing for more robustness

Collect the config in memory before attempting to construct the command
line arguments. This will give us a lot more robustness.