Cut each chicken leg into 4 pieces.
Mix all the ingredients for the marinade together in a large shallow dish. Season with salt, add the chicken pieces and, rub the marinade evenly over to coat. Cover and allow to marinate in the refrigerator for 2 hours.
Prepare a tandoor or charcoal grill for moderate heat, or alternatively preheat the grill (broiler) to medium. Thread the chicken pieces onto several metal skewers and place a tray underneath to collect any juices.
Roast the chicken pieces in a moderately hot tandoor, over a charcoal grill, or under the grill for 6-7 minutes, or until half done.
Remove the skewers from the heat and hang them up over a tray for about 2-3 minutes to allow any excess moisture to drain out completely. Put the skewers in a dish, baste with melted butter, and roast again in the tandoor or under the grill for a further 3-4 minutes, or until cooked.
Transfer the chicken to a plate and serve.