For anyone who remembers the trick back in the good ol' days (I think it was Super Mario World that introduced this, but I could be wrong) - there's a little trick you can do to earn as many one-ups as you like.
For anyone who has ever wondered, it works like this: each consecutive enemy you kill in a row (from a shell, using an invincibility star, or jumping on them without landing on the ground) increases in points, until the 8th killed enemy which gives you a 1UP... The tenth kill a 1UP, and so on and so forth.
The idea is first to find a level that has one of the cloud koopas tossing off the spiky dudes; they you want to look for a confined area that causes your shell to go back and forth over and over. Since Mario developers don't belief in physics, the shell will continue to travel indefinitely (to your advantage); thus all the spiky guys the cloud koopa throws down at you should fall into the target area and get knocked away by your shell.
To acquire a koopa shell, you just need to go a little past this target area and backtrack a bit once you have one.
![](https://s2.save4k.ru/pic/my9_HTxi8oc/mqdefault.jpg)