Filter everything from content except output of a shortcode

function shortcode_only_wpse_96114($content) {
  $regex = get_shortcode_regex();
  preg_match_all("https://wordpress.stackexchange.com/".$regex."https://wordpress.stackexchange.com/",$content,$matches);
  if (!empty($matches[0])) {
    $content = do_shortcode(implode(' ',$matches[0]));
  }
  return $content;
}
add_filter('the_content','shortcode_only_wpse_96114',1);

That should check for any registered shortcodes and if present completely replace the post content with the output of the shortcode(s), removing any other content. If no shortcodes are found the post content gets returned as normal.

Barely tested. Possibly buggy. Caveat emptor. No refunds.

Reference

http://codex.wordpress.org/Function_Reference/get_shortcode_regex