Mix together the olive oil, vinegars, molasses, garlic and shallots. Season to taste. Pour into a shallow dish and add the lamb.
Toss gently and leave to marinate for at least 30 minutes or up to 3 hours.
Thread onto 8 skewers and cook for 8-10 minutes under a medium-hot preheated grill or on the barbecue, turning from time to time, until browned but still slightly pink in the centre. Brush with the marinade as you cook.
The longer you marinate the lamb, the stronger the taste.