Livestrong.com has a great article about variations in push ups:
- Regular push-ups
- Plyometric push-ups, the goal is to push yourself off the ground to develop power. Careful, it's tough on the wrists
- Diamong push-ups, involves making a diamond shape with both hands. Pushing up like this focuses on the triceps.
- Staggered push-ups, basically means you put one hand further back. This can be used to train towards one-handed pushups.
- Deficit push-ups, means putting your hand on some elevation and lower your chest below the level of your hands.
- Fist push-ups aka Knuckle push-ups, To increase wrist strength. They're also a healthy alternative if doing 'regular' push-ups causes wrist pain. Just be sure to do them on a soft surface (like a mat or folded towel).
To work your shoulders you can increase the elevation of your feet. If you can, you could do handstand pushups against a wall. Off course, there are many more variations, but these should keep you busy for a while!
Push-ups do not really target biceps. You probably want pullups for that.
- Reverse push-ups, are a combination of a pull-up and a push-up in a hanging position.
These probably aren't really push-ups in the traditional sense. They're more like a hybrid between a push-up and a pull-up. They have the benefits of a push-up as in they target your core, chest, and shoulders. With the added benefit of a pull-up because they also target your upper back, lats, and biceps.
Source: ultimateclimbing.com
Note: Using a swiss ball to increase resistance (difficulty) is completely optional (and pretty hard core), it's only included here for lack of a better picture that demonstrated the full movement.
Source: bodyrock.tv
An easier variation is to do them with your knees bent and feet flat on the ground.
There are many more variations, but these should keep you busy for a while!