In a large nonmetallic bowl, stir together oil, lemon juice, chopped onion, bay leaves, oregano, and pepper. Add lamb; stir to coat. cover and refrigerate for at least 4 hours or overnight; stirring several times.
Lift meat from marinade and drain briefly. Add red onion, bell pepper, and mushrooms to marinade; turn to coat, then lift out, reserving marinade.
Thread meat cubes alternately with the vegetables on six skewers.
Place skewers on a lightly greased grill 4 to 6 inches (about a solid bed of medium-hot coals). Cook, turning and basting frequently with reserved marinade, until meat and vegetables are well browned but meat is still pink in the center, about 12 to 15 minutes (cut to test).
Makes: 6