Cycles: envirement background for lighting different then render background
The easiest way is to check the Transparent setting in the Film section of the Render panel. Setup your world lighting with white lighting. 



Then in Compositing you can load a still image with an image node and composite it behind your transparent render with an Alpha Over node. This way your scene will have white lighting, but your background can be a custom image.

If your background image dimensions are different than your render settings, you may need to run the image through a Scale node to get it work properly.




Option 2

The second option is to add an image plane behind your foreground elements. The trick is to use an Emission Shader for the plane material, then use an IsCameraRay Light Path to mix between the Emission Shader and an empty (ie no light data) shader socket. This lets the camera see the background, but effectively makes the plane invisible to the rest of the scene lighting.