Show all post for a given category

You can use the WordPress Template Hierarchy.

Copy your category.php file and rename it.

category-{slug}.php – If the category’s slug is news, WordPress will look for category-news.php.
category-{id}.php – If the category’s ID is 6, WordPress will look for category-6.php.
category.php

You can also use template_include to conditionally display a template

add_filter( 'template_include', 'category_page_template', 99 );

function category_page_template( $template ) {

if ( is_category()  ) {
    $new_template = locate_template( array( 'your-template.php' ) );
    if ( '' != $new_template ) {
        return $new_template;
    }
}

return $template;
}