Sudo's -i option is able to provide you with a shell in the same state that it'd be if it were a fresh login. I've burned this into my fingers a long time ago.
Also, in most configurations you have to specifically whitelist environment variables for them to surivive a "sudo" call.