I can't help you regarding demuxing with VLC however there is a great little Java app called ProjectX (see here:
http://www.videohelp.com/tools/ProjectX and here:
http://sourceforge.net/projects/project-x/) that can demux MPEG2 TS. It is very good because a lot of programs that demux TS files can leave the audio and video files out of sync. ProjectX is noted for its ability to keep the results in sync.
After you've demuxed with ProjectX you'll have to remux the two seperate audio and video files into what ever format you want. I use Avidemux for that.
I'm not sure what you mean when you say "MPEG 2 TS containing many programs". I think you mean you have one continuous TS file with a couple of programs, broadcast one after the other in sequence.
If that's the case I would save a remux (of the ProjectX demuxed files) in Avidemux as MPEG-PS with no re-encoding. This shouldn't take long because there's no re-encoding. Now you'll have an mpeg file that you can reload in to Avidemux and cut up into each separate program (It seems clunky but I am pretty sure you have to save the MPEG-PS first and then reload it before you can cut it up into separate programs) You can re-encode them with Avidemux or try HandBrake if its H.264 is what your after.
There is a bit of a tutorial that covers some of the points above here:
http://forum.doom9.org/showthread.php?t=149827
Sorry if you specifically need to use VLC.
Oh, yeah, another app that I think can demux MEPG2 TS files is MPEG Streamclip
http://www.squared5.com/. I haven't used it so I am not sure about it but you could also try that.