With a knife, make a couple incisions in the pork shoulder and stud with the garlic cloves.
In a blender, puree onions, bay leaf, oregano, cumin, white vinegar, and cilantro. Season with salt and pepper. Pour the marinade over the pork shoulder, and refrigerate for at least 2 hours.
Preheat oven to 325 degrees F.
Place the pork shoulder in a roasting pan. Heat the lard, and pour over the top. Cover and bake 3 hours. Let the meat rest for 15 minutes. Slice thinly.
Saute red onions and deglaze with lime juice.
Assemble the sandwich by placing 4 to 5 slices of pork and 2 to 3 tablespoons of the onion mixture on the bread. On a griddle, heat up the sandwich until the bread is crispy.