get_posts is duplicating

First you need to save the IDs of the posts from first loop you want to exclude in second loop into an array, and the use that array to exclude the posts. Also, always reset post data after query.

Here’s your code with the modification.

<div class="row">
<?php $args = array(
    'posts_per_page'   => 1,
    'offset'           => 1,
    'category'         => '',
    'category_name'    => '',
    'orderby'          => 'date',
    'order'            => 'DESC',
    'include'          => '',
    'exclude'          => '',
    'meta_key'         => '',
    'meta_value'       => '',
    'post_type'        => 'prosjekter',
    'post_mime_type'   => '',
    'post_parent'      => '',
    'author'       => '',
    'post_status'      => 'publish',
    'suppress_filters' => true 
);
$posts_array = get_posts( $args );
foreach ($posts_array as $row) {

    $exclude[] = get_the_ID(); // Save The Post ID in an array

?>
  <div class="col-lg-12">
    <?php the_post_thumbnail() ?>
  </div>
<?php
}
wp_reset_postdata();
?>
</div>
<div class="row">
<?php $args2 = array(
    'posts_per_page'   => 5,
    'offset'           => 2,
    'tag' => '',
    'category'         => '',
    'category_name'    => '',
    'orderby'          => 'date',
    'order'            => 'DESC',
    'include'          => '',
    'exclude'          => '',
    'meta_key'         => '',
    'meta_value'       => '',
    'post_type'        => 'prosjekter',
    'post_mime_type'   => '',
    'post_parent'      => '',
    'author'       => '',
    'post_status'      => 'publish',
    'suppress_filters' => true,
    'post__not_in'     => $exclude //Exclude the IDs
);
$posts_array2 = get_posts( $args2 );
foreach ($posts_array2 as $row2) {

?>
  <div class="col-lg-6">
    <?php the_post_thumbnail() ?>
  </div>
<?php
}
wp_reset_postdata();
?>  

EDIT: Since you are excluding only the latest post, you can try the offset parameter in second loop too.