Show only posts from one category on custom post type archive page

Use the pre_get_posts action to modify any main query before it is sent to the database, this includes the case of your home page as well. Calling query_posts in the template runs a new query, overwriting the original- it’s a waste of resources and can produce unpredictable results, particularly with pagination.

function wpa_pre_get_posts( $query ){
    if( is_post_type_archive( 'exercises' ) && $query->is_main_query() ){
         $query->set( 'cat', 42 );
    }
}
add_action( 'pre_get_posts','wpa_pre_get_posts' );