In a small bowl, whisk together 3 tablespoons olive oil, garlic, lime juice, chili powder, salt, and cilantro and pour over shrimp. Mix until all the shrimp are coated. Cover and refrigerate for 10 minutes, or up to 8 hours.
In a skillet over medium-high heat, warm remaining tablespoon olive oil. Add onions and cook until fragrant, 2 to 3 minutes. Add coated shrimp and cook on one side until pink, about 45 seconds, then flip over. Cook until shrimp is cooked through, about 1 minute more.