Cook the rice
In a saucepan over medium heat, melt 1 tablespoon of the butter. Add the rice and cook, stirring constantly, until the grains are well coated, about 1 minute. Stir in 1 cup (8 fl oz/250 ml) water and the coconut milk and bring to a boil. Reduce the heat to low, cover, and cook until the liquid is absorbed and the rice is tender, about 20 minutes.
Cook the shrimp
Meanwhile, grate 1 teaspoon zest and squeeze 2 tablespoons juice from the lime. About 5 minutes before the rice is ready, in a large frying pan over medium heat, melt the remaining 4 tablespoons (2 oz/60 g) butter. Add the garlic and lime zest and juice and stir until the mixture is bubbly. Add the shrimp and onions and sauté until the shrimp are just opaque throughout, about 3 minutes. Stir in half of the cilantro.
Finish the rice
Fluff the rice with a fork and gently stir in the remaining cilantro. Arrange the rice and shrimp on plates and serve.