Entity form additional arguments
An entity add form is built with a new entity. And when you create this entity you can use parameters for this. See this example from the block module.

The new route with the additional parameter:

block.routing.yml

block.admin_add:
  path: '/admin/structure/block/add/{plugin_id}/{theme}'
  defaults:
    _controller: '\Drupal\block\Controller\BlockAddController::blockAddConfigureForm'
    theme: null
    _title: 'Configure block'
  requirements:
    _permission: 'administer blocks'


This adds the parameter theme.

And the controller for this route:

BlockAddController.php

 public function blockAddConfigureForm($plugin_id, $theme) {
    // Create a block entity with prepopulated values.
    $entity = $this-&gt;entityManager()-&gt;getStorage('block')-&gt;create([
      'plugin' =&gt; $plugin_id,
      'theme' =&gt; $theme,
    ]);

    return $this-&gt;entityFormBuilder()-&gt;getForm($entity);
  }


Here the additional parameter theme is used when creating the entity.

Using both routes at the same time is no problem, the standard entity route configured in the entity annotations will still be in place.

Another way to use parameters in entity forms is in the third parameter $form_state_additions: 

$form_state_additions['langcode'] = $langcode;
$form = \Drupal::service('entity.form_builder')-&gt;getForm($entity, 'default', $form_state_additions);


This example is from the source of the entity formbuilder:

https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Entity%21EntityFormBuilderInterface.php/8.2.x