I want to pass in a 2nd texture into my fragment shader, how do I do it?
Just add a second uniform for it in the fragment shader, eg:
uniform lowp sampler2D texture; uniform lowp sampler2D shadowMap;
then in your main code you should be able to just do:
mymesh.shader.texture = someimage mymesh.shader.shadowMap = someotherimage
OpenGL ES on the iPad should happily support up to 8 textures in a fragment shader (unfortunately no textures in the vertex shader)