Shortcode to display all the post from a category in a page

Try this…

<?php
function list_post(){

    //or you can use the cat id here, check the codex for WP_Query
    $q = new WP_Query(array('category_name' => '<cat slug here>'));
    if($q->have_posts()):
        while($q->have_posts()):the_post();
            the_title();
        endwhile;
    else:
        echo "No posts found!";
    endif;
    wp_reset_postdata();
}

add_shortcode('list_post', 'list_post');
?>