Heat 2 tablespoons olive oil in a heavy pot over medium heat. Add cumin seeds and cook until they release their aroma for about 1 minute. Stir in the onions, garlic and sweet potatoes. Reduce heat to medium-low; cover and cook for 5 minutes, stirring occasionally so potatoes don't stick.
Put the lamb shanks in the pot and brown on all sides, about 8 minutes. Add tomatoes, apricots, and harissa. Season with salt and pepper. If mixture seems a bit dry, add a splash of water. Bring to the boil, then lower heat and cover. Simmer until meat is tender and falling off the bone, one hour or more, depending on the size of the shanks. Stir occasionally.
Heat a small frying pan over low heat and add the almonds. Stir and cook until almonds are lightly browned, about 5 minutes. Remove from heat and set aside.
Place couscous in a large bowl and slowly pour in boiling water until just covered. Let sit until water is absorbed, about 5 to 10 minutes. Toss couscous with 2 tablespoons olive oil and toasted almonds. Transfer to a serving dish. Spoon the lamb over the couscous and serve.