As for the floor, you should add a transparent object receiving shadows.
Since Cycles has been thought for photo-realistic renders, there's no easy way to isolate shadows.
You can use Layer and Render Passes.
This layer contains all you want to render (your character)
Transparent objects receiveing shadows
This layer contains the helper objects that will receive shadows (the puppet).
Since we won't use any color informations, we'll use the Diffuse Direct Pass.
This layer contains the shadow of our hero.
To avoid the "helper object" to cast any shadow, we'll exclude its layer.
Use the RGB Curve Nodes to adjust the shadows and to set the white level (white is transparent in Multiply Node)
Ok since the other answer hasn't been expanded, here goes my explanation.
I did this with Blender Render, but in the link I posted as a comment to your question goes the explanation for cycles. Regarding the doll receiving the shadow of your character...
As you can see in the next image, I have setup a ground and a straw roll that matches the background (sorry, I lost the background image but I used it as reference to place both ground and straw roll).
As you can see, for the straw object a material is created, in the material you can see what I have selected in the shadow section (receive, receive transparent and shadows only). The rest of the material sections/options should be unchecked.
The next image shows a render, as you can see neither the ground nor the straw roll can be seen, just the shadows the tornado creates.
And the final composite