In a bowl, combine the garlic, zest and juice of 1 lemon, olive oil, red pepper flakes, salt and pepper, to taste, and the shrimp. Set aside to marinate.
Meanwhile make a quick shrimp stock: In a small pot, over medium heat, add the shrimp shells and onion. Cover with water and bring to a boil. Reduce the heat and simmer for 20 minutes. Strain into a bowl and discard the shells and the onion.
Bring a large pot of water to a boil over high heat and add a generous amount of salt. Add the linguini and cook until just tender, 2 minutes less than instructed on the package. Drain and reserve 1/2 cup of cooking water.
Heat a skillet over high heat. Remove the shrimp from the marinade, reserve the marinade, and add the shrimp to the skillet. Cook until they turn pink and start to caramelize, about 3 minutes. Remove the shrimp from the pan to a plate and add the reserved marinade. Let cook a few minutes then add about 1 cup of shrimp stock and about 1/2 cup pasta water. Continue to cook until sauce reduces by half. Add the zest and juice of the remaining lemon, the butter and the parsley and stir to combine. Adjust seasoning with salt and pepper, to taste.
Add in the shrimp and pasta and toss to combine with the sauce. Turn out into a serving bowl and serve immediately.