Cut each chicken leg into 4 pieces.
Put all the ingredients for the marinade in a large shallow dish, season with salt, and mix well. Add the chicken pieces to the marinade and rub the mixture 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 onto several metal skewers and place a dish underneath to collect any juices.
Roast 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, on the charcoal grill, or under the grill for a further 3-4 minutes, or until cooked.
Transfer the chicken to a plate and serve hot.