How to retrieve custom field values and save again as array

This is how I would do it…

$page_list = get_pages();
foreach($page_list as $page) {
     $post_id = $page->ID;

     $custArray = array(
       '_custField1'    => get_post_meta( $post_id, '_custField1', true ),
       '_custField2'    => get_post_meta( $post_id, '_custField2', true ),
       '_custField3'    => get_post_meta( $post_id, '_custField3', true ),
       '_custField4'    => get_post_meta( $post_id, '_custField4', true )
      );

     add_post_meta ( $post_id, '_newcust', $custArray, true );
}

The value will be serialized by WordPress if it is an array – see https://codex.wordpress.org/Function_Reference/add_post_meta