What you are describing sort of sounds similar to how tables will size by default when given 100% width. It’s a little confusing to understand what exactly you are trying to accomplish, so some more details might help :)
To expand on that thought: you stated that you want column 1 to be determined by its contents, but column 2 to take up remaining space. How would that be different from column 2 being sized to its contents and column 1 taking up remaining space? An example of what you’re putting in both columns might be useful!
Anyways, my gut reaction is that something as simple as giving your table width: 100% will do the trick.