I didn't try it yet but according to the tutorial your solution seems to be based on this part of VirtualGL user's guide
5.2 Using VirtualGL with Multiple Graphics Cards
VirtualGL can redirect the OpenGL commands from a 3D application to any 3D graphics card in the server machine. In order for this to work, however, all of the 3D graphics cards must be attached to different screens on the same X server using Xinerama. They can then be individually addressed by setting VGL_DISPLAY to (or invoking vglrun -d with) :0.0, :0.1, :0.2, etc.
As pointed out by this quote, each program that should be run with an Nvidia card has be launched with 'vglrun'.
This idea is also interesting since it allows to run the Intel card for all other programs. However I'm wondering what happens with Nvidia's libraries like Nvidia Cg and Nvidia CUDA. Are these technologies supported?