A bit strange... I will start to say that I'm no expert in this so maybe I shouldn't reply at all. However I will anyways since no one else has.
So usually it's one of three things: air, fuel, spark.
Spark: Probably it has spark since it runs at full throttle, could maybe be a weak spark that's causing the issue. Relatively easy to control by just taking out the spark plug and placing it against the cylinder (keep fingers away) and try starting. You should see a spark in the gap.
Air: It probably has air to, otherwise it wouldn't run on the extra fuel that the full throttle gives it.
Fuel: Maybe it gets to little fuel. But would it really run on full throttle then? You can test the fuel by running some kind of starter gas in the air intake. If it runs, well then it's most likely something with your fuel system. Like a clogged up fuel filter or so (however I would guess that that would run better on low revs and worse on high...)
I'm thinking that maybe it could be that there's a leek between the carb (of it's carbed) and the cylinder, so it sucks in air into the air/fuel mixture. This could be found by - while the engine is running - spraying starter gas around your intake manifold and cylinder (not in the air intake though, and not to much (it's flammable)). If the revs go up, there's a leak.
But more that this it could surly be about a million different reasons, like offset timing, bad piston rings, etc etc etc...
Hope this might help you at least a little bit in your troubleshooting.